package com.example.demo.json;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;

import java.util.Date;
import java.util.List;

/**
 * @author FENGYU
 * @description
 * @date 2023-09-26 16:34
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
public class XProjectContactModel {


    /**
     * PRODUCT_ASSIGN_ID
     */
    private String productAssignId;

    /**
     * XPROJECT_CONTACT_ID
     */
    private String xprojectContactId;

    /**
     * 根据产品信息获取比例
     */
    private String projectRadixId;

    /**
     * 根据客户信息提取提成比例
     */
    private String contactSourceReleaseId;

    /**
     * 报名编号
     */
    private String xprojectCode;

    /**
     * CONTACT_ID
     */
    private String contactId;

    /**
     * 缴费状态
     */
    private String payStatus;

    /**
     * 预缴金额
     */
    private Double preparedAmount;

    /**
     * 实际需缴金额
     */
    private Double actualAmount;

    /**
     * 毛利金额
     */
    private Double grossProfitAmount;

    /**
     * 已缴金额
     */
    private Double paidAmount;

    /**
     * 欠缴金额
     */
    private Double oweAmount;

    /**
     * 等待确认交费金额
     **/
    private Double unConfirmPayAmount;

    /**
     * 等待确认退费金额
     **/
    private Double unConfirmReturnAmount;

    /**
     * 缴费次数
     */
    private Integer paymentTimes;

    /**
     * 报名类型(PERSON个人 COMPANY公司)
     */
    private String applyType;

    /**
     * 注册状态
     */
    private String registrationStatus;

    /**
     * 开发票
     */
    private String ifInvoice;

    /**
     * 备注信息
     */
    private String remark;

    /**
     * 是否积分兑换
     */
    private String isPoint;

    /**
     * 减积分
     */
    private Double subPoint;

    /**
     * 积分兑换比率
     */
    private Double pointRadio;

    /**
     * 转介绍人积分比率
     */
    private Double introPointRadio;

    /**
     * 积分兑换价格
     */
    private Double pricePoint;

    /**
     * 代付积分人手机号
     */
    private String advanceMobile;

    /**
     * 代付积分人编号
     */
    private String advancePointId;

    /**
     * 是否作为积分代付
     */
    private String isPointAdvance;

    /**
     * 提成确认发放状态
     */
    private String sureReleaseStatus;

    /**
     * 转介绍客户Id
     */
    private String introducerContactId;

    /**
     * 转介绍客户code
     */
    private String introducerContactCode;

    /**
     * 转介绍客户name
     */
    private String introducerContactName;

    /**
     * 转介绍负责人Id
     */
    private String introducerUserId;

    /**
     * 转介绍班主任Id
     */
    private String introducerClassUserId;

    /**
     * 转介绍班主任名
     */
    private String introducerClassUserName;

    /**
     * 负责人id
     */
    private String chargePersonId;

    /**
     * 关联产品Id
     */
    private String productId;

    /**
     * 关联产品名称
     */
    private String productName;

    /**
     * 优惠金额
     */
    private Double discountAmount;

    /**
     * 优惠总金额
     */
    private Double discountSum;

    /**
     * 优惠描述
     */
    private String discountDescribe;

    /**
     * 优惠日志
     */
    private String discountLog;

    /**
     * 推荐班级id
     */
    private String recommendClassId;

    /**
     * 推荐班级
     */
    private String recommendClass;

    /**
     * 利润率
     */
    private Double gainRate;

    /**
     * 报名属性
     */
    private String xprojectContactAttr;

    /**
     * 报名人数
     */
    private Integer xprojectContactNum;

    /**
     * 原始报名人数
     */
    private Integer xprojectContactNumOriginal;

    /***
     * 预估利润
     */
    private Double budgetsProfitMargin;

    /**
     * 报名类型（区分新报名、续读）
     */
    private String xprojectType;

    /**
     * 是否转介绍（Y/N）
     */
    private String isReferral;

    /**
     * 客户创建来源
     */
    private String contactCreatorType;

    /**
     * 客户来源
     */
    private String contactSource;

    /**
     * 父级订单
     */
    private String xpcParentId;

    /**
     * 基础人数
     */
    private Integer baseNumber;

    /**
     * 每人额外费用
     */
    private Double extraCost;

    /**
     * 参加大6p后的报名标识：Y-参加过大6P，N -未参加
     */
    private String sixp;
    /**
     * 短期班人数变化记录
     */
    private String shortNumRemark;

    /**
     * 发票状态
     */
    private String invoiceStatus;

    /**
     * 审核时间
     */
    private Date sureReleaseDate;

    /**
     * 提成确认时间
     */
    private Date royaltyConfirmDate;

    /**
     * 审核方式
     */
    private String sureReleaseMethod;

    /**
     * 是否解锁过(Y/N)
     */
    private String hasUnlocked;

    /**
     * 提成是否发放(Y/N)
     */
    private String hasGrant;

    /**
     * 最新解锁日期
     */
    private Date unlockDate;

    /*--------------扩充实体-----------------*/

    /**
     * 是否为换项 Y/N
     */
    private String isChangeProject;

    /**
     * 是否为合作商 Y/N
     */
    private String isPartner;

    /**
     * 增加完款状态：已完款、未完款。判断条件：订单应缴 = 已交 为已完款，反之未完款，默认已完款 Y/N
     */
    private String completePaidStatus;

    /**
     * 订单是否有锁定状态 Y/N
     */
    private String lockStatus;
    /**
     * 客户信息实体
     */
    private ContactModel contact;


    /**
     * 商品信息
     */
    private ProductModel product;



}
